package com.stargate.soft.transaction.personne;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;

import com.stargate.bd.ConnectionBD;
import com.stargate.bd.bean.Badge;
import com.stargate.bd.dao.factory.AffectationDAO;
import com.stargate.bd.dao.factory.BadgeDAO;
import com.stargate.bd.dao.factory.PersonneDAO;
import com.stargate.io.LectureClavier;

public class SuppressionPersonne {
	
	private int idPersonne;
	private ArrayList<Badge> badges;

	public SuppressionPersonne() throws SQLException {
		ConnectionBD.setSerializable();
		init();
		ConnectionBD.commit();
	}

	private void init() throws SQLException {
		idPersonne = LectureClavier.lireEntier("ID personne :");
		
		// récupération des badges de la personne
		AffectationDAO affectationDAO = new AffectationDAO();
		badges = affectationDAO.selectBadgesPersonne(idPersonne);
		
		// désactivation des badges
		BadgeDAO badgeDAO = new BadgeDAO();
		for (Iterator<Badge> it = badges.iterator(); it.hasNext();) {
			Badge badge = (Badge) it.next();
			badge.disable();
			badgeDAO.update(badge);
		}
		
		// suppression de la personne et des affectations par cascade
		PersonneDAO personneDAO = new PersonneDAO();
		personneDAO.delete(idPersonne);
	}
	
	public int getIdPersonne() {
		return idPersonne;
	}
	
	public ArrayList<Badge> getBadges() {
		return badges;
	}
	
}
